home *** CD-ROM | disk | FTP | other *** search
- Xdef StackCheck
- xref Stack_NewAdr ; BasisAdresse neuer Stack
- Xref StackSize
- Xref Error
-
- Sicherheit equ 222 ; Sicherheitsreserve am Stackende
-
- ; Gewünschte Größe steht in D0
- ;
-
- StackCheck
- Move.l Stack_NewAdr,d1 ; BasisAdresse, die nicht unter
- ; schritten werden darf
- Move.l a7,d2 ; Aktueller Stack
-
- ; Folgende Rechnung sollte zum Erfolg führen
- ; Akt.Stack - GewünschteGröße - Sicherheit >= Stack_NewAdr
- ; D2 - D0 - Sicherheit >= d1
-
- Sub.l d0,d2 ; D2 = D2 - D0 (Stack-Size)
- Sub.l #Sicherheit,d2 ; D2 = D2 - Sicherheit
- Sub.l D1,d2 ; Nun noch die Basisadr. abziehen
- bpl.s Ok ; >= 0, dann ist Stack ok
- Moveq #11,d0
- jmp Error
- Ok RTS
-
-